Function.prototype.mycall = function call(context, ...rest) {
  context = context || null
  context.a = this
  let res = context.a(rest)
  delete context.a
  return res
}
